package org.grottarossa.ui.core.controls.document;


import java.util.ResourceBundle;

import org.grottarossa.template.data.pojo.content.Content;
import org.grottarossa.ui.core.ApplicationSession;
import org.grottarossa.ui.core.i18n.DM;

/***
 * Factory per la creazione di controlli per la gestione delle versioni di un documento
 * @author 
 *
 */
public class DocumentVersionsManagerFactory
{
	private final ApplicationSession m_appSession;

	public DocumentVersionsManagerFactory(ApplicationSession appSession)
	{
		this.m_appSession = appSession;

	}

	/***
	 * Crea un controllo per l'upload della prima versione di un documento
	 * @param content
	 * @return
	 */
	public DocumentVersionsManager createFirstVersionUploader(Content content)
	{
		ResourceBundle localizer = DM.instance().getBundle(getClass().getPackage().getName() + ".Resources");
		DocumentVersionsManager view = new DocumentVersionsManager(m_appSession, localizer);
		DocumentVersionsManagerPresenter presenter = new DocumentVersionsManagerPresenter(m_appSession, view, content, localizer, true);
		presenter.initialize();
		return view;
	}

	/***
	 * Crea un controllo per la gestione delle versioni di un documento
	 * @param content
	 * @return
	 */
	public DocumentVersionsManager createVersionsManager(Content content)
	{
		ResourceBundle localizer = DM.instance().getBundle(getClass().getPackage().getName() + ".Resources");
		DocumentVersionsManager view = new DocumentVersionsManager(m_appSession, localizer);
		DocumentVersionsManagerPresenter presenter = new DocumentVersionsManagerPresenter(m_appSession, view, content, localizer, false);
		presenter.initialize();
		return view;
	}
}
